package pers.xiaojun.boot.common.constants;

/**
 * Web 过滤器排序常量
 * <p>
 * 用于统一管理Web过滤器的排序
 *
 * @author xiaojun
 * @since 2025-11-22
 */
public interface WebFilterOrderConstants {

    /**
     * CORS 过滤器排序
     */
    int CORS_FILTER = Integer.MIN_VALUE;

    int TRACE_FILTER = CORS_FILTER + 1;

    int REQUEST_BODY_CACHE_FILTER = Integer.MIN_VALUE + 500;

    // OrderedRequestContextFilter 默认为 -105，用于国际化上下文等等

    /**
     * 租户上下文过滤器排序
     */
    int TENANT_CONTEXT_FILTER = -104;
    /**
     *
     */
    int API_ACCESS_LOG_FILTER = -103;

    int XSS_FILTER = -102;

    /**
     * 租户安全过滤器排序
     * <p>
     * 需要保证在 Spring Security 过滤器后面（Spring Security Filter 默认为 -100）
     */
    int TENANT_SECURITY_FILTER = -99;

    int FLOWABLE_FILTER = -98;

    int DEMO_FILTER = Integer.MAX_VALUE;

}
